// pages/home/listTo/index/index.js
var call = require("../../utils/request.js");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    pageStatus: false,
    dataStatus: false, // 是否还有更多数据

    userInfo: {}, // 用户数据

    // 新增
    
    classificationData: [],     // 左侧一级分类 - 数据
    classificationIndex: 0,     // 左侧一级分类 - 索引
    classificationCurrent: {},  // 左侧一级分类 - 当前选中

    categoryList: [], // 右侧二级分类 - 数据
    searchName: '',   // 搜索的内容

    rightCur: 0,
  },
  scroll(){

  },
  // 去搜索
  goSearch(){
    // wx.navigateTo({
    //   url: '/subPackages/pages/standard/home/list/search/index?needData=',
    // })
  },
  // 去 分类列表
  goList(e){
    let { parentindex,index,id,parentdata } = e.currentTarget.dataset  // 二级分类索引
    if(parentdata.title == '其他服务'){
      wx.showToast({ icon: 'none',title: '正在建设中，敬请期待' });
    }else{
      parentdata.reekoIndex = parentindex // 一级分类索引
      parentdata.secondLevel = index               // 二级分类索引
      parentdata.secondLevelId = id               // 二级分类id
      parentdata.children = []
      
      wx.navigateTo({
        url: '/subPackages/pages/standard/home/list/index/index?obj=' + JSON.stringify(parentdata) 
      })
    }
  },
  // 主分类索引切换
  classificationListChange (e) {
    let { index,id } = e.currentTarget.dataset
    this.setData({
      classificationIndex: index,
      //scrollRightTops: 5,
      rightCur: index,
      // // 实现左边⾃动滑动到某个位置 4表⽰⾃动滑动到第五项（4为索引值）
      scrollTops: (index - 4) * 200,
    })
  },
  // 回去首页
  goHome () {
    wx.navigateBack({ delta: 1 });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let menuButtonObject = wx.getMenuButtonBoundingClientRect();
    wx.getSystemInfo({
      success: res => {
        let statusBarHeight = res.statusBarHeight // 状态栏的高度
        let navTop = menuButtonObject.top * 2
        let navObjWid = res.windowWidth - menuButtonObject.right + menuButtonObject.width // 胶囊按钮与右侧的距离 = windowWidth - right+胶囊宽度
        let navHeight = statusBarHeight + menuButtonObject.height + (menuButtonObject.top - statusBarHeight) * 2;
        let capsuleHeight = menuButtonObject.height * 2; //胶囊高度
        console.log(`导航栏总体高度${navHeight},胶囊距离顶部距离${navTop}.height,胶囊宽度(包括右边距离)${navObjWid}`)
        let contentHeight = capsuleHeight + navTop + 40 // 中间内容高度
        this.setData({
          navHeight,navTop,capsuleHeight,contentHeight
        })
      },
      fail(err) {
        console.log(err);
      }
    })
    
    this.setData({
      userInfo: wx.getStorageSync('userInfo'),
    })

    this.getCategorylist()                      // 获取一级分类数据
    this.selectComponent('#notice').webSocket() // 触发公告
  },
  // 获取主分类数据
  getCategorylist(){
    call.httpData('GET','/api/index/categorylist', {},
    res => {
      console.log(res,'获取主分类数据')
      if(res.code == 1){
        this.setData({ classificationData: res.data })
        if(0 in res.data){
          this.setData({ classificationCurrent: res.data[0] })
          this.getCategorychild() // 获取主分类下的子分类 二级分类
        }
      }else{
        wx.showToast({ icon: 'none',title: res.msg });
      }
    },function (err) {
      console.log(err)
    })
  },
  // 获取主分类下的子分类 二级分类
  getCategorychild(id){
    call.httpData('GET','/api/index/categorychildall', {},
    res => {
      console.log(res,'获取二级分类全部数据')
      if(res.code == 1){
          let categoryList = res.data
          this.setData({ categoryList })
      }else{
        wx.showToast({ icon: 'none',title: res.msg });
      }
      this.setData({ pageStatus: true })
    },function (err) {
      console.log(err)
    })
  },
  // input
  bindKeyInput (e) {
    console.log(e)
    let keyWord = e.detail
    this.throttle(this.queryData, null, 600, keyWord);
  },
  // 节流
  throttle: function(fn, context, delay, text) {
    clearTimeout(fn.timeoutId);
    fn.timeoutId = setTimeout(function () {
      fn.call(context, text);
    }, delay);
  },
  // 执行搜索
  queryData: function(name){
    console.log(name)        // 此处打印出来的就是 用户输入的值

    let { id } = this.data.classificationCurrent
    this.getCategorychild(id) // 获取主分类下的子分类 二级分类
  },


  scrollLink(e){
    let list = this.data.categoryList
    let itemHeight = 0;
    for (let i = 0; i < list.length; i++) {
      //拿到每个元素
      let els = wx.createSelectorQuery().select("#scroll-" + i);
      els.fields({
        size: true
      }, function (res) {
        list[i].top = itemHeight; // 节点顶部位置
        itemHeight += res.height;// 节点⾼度
        list[i].bottom = itemHeight;//节点底部位置
      }).exec()
    }
    let scrollTop = e.detail.scrollTop;     // 拿到滚动的⾼度
    for (let i = 0; i < list.length; i++) {
      if (scrollTop > list[i].top && scrollTop < list[i].bottom) {
        this.setData({
          classificationIndex: list[i].indexs,
          scrollTops: (i - 4) * 200
        })
        return false
      }
    }
  },
})